<?php

/*-----------------------------------------------------------*\
|                 - Модуль користувачів -                    |
|                 Author:  Skalden Russell                   |
|                 Last modify: 20130105                      |
\*-----------------------------------------------------------*/


// Захист модулю
if(!defined('TSUE_SEC')) 
{
	require_once('../../data/messages/hacking.attempt.php');
	die($TSUE_MSG);
}

define( 'USERS_PER_PAGE', 10 );

//-------------------------------------------------------------
//                  Процес обробки дій
//-------------------------------------------------------------

// Додавання або редагування користувача
if(isset($_POST['add_btn']) || isset($_POST['edit_btn']))
{
	// Перевірка на помилки
	$error_exist = FALSE;
	$error_content = '';
	
	// Кодування / декодування тексту
	include_once( TSUE_DIR . '/engine/include/security.text.php' );
	$sectext = new CSecurity();
	
	// З'єднання з БД тексту
	$sql = new cMysql();
	$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
	
	// Перевірка Прізвища, Імені, По батькові
	if(empty($_POST['fio']))
	{
		$error_content .= 'Не заповнено поле <b>"Ім\'я, Прізвище, По батькові користувача"</b> <br />';
		$error_exist = TRUE;
	}
	else
	{
		$_POST['fio'] = trim( strip_tags( $sectext->encode( $sql->sec_check( $_POST['fio'] ) ) ) );
	}
	
	// Перевірка пароля
	if(empty($_POST['password']))
	{
		$error_content .= 'Не заповнено поле <b>"Пароль користувача"</b> <br />';
		$error_exist = TRUE;
	}
	else
	{
		$_POST['password'] = trim( $_POST['password'] );
		$passhash = md5(md5($_POST['password']) . md5(MD5_SALT));
	}
	
	// Перевірка електронної пошти
	if(!preg_match("/^(?:[a-z0-9'\.\-_\+\|]++|&)+@[a-z0-9\-]+\.(?:[a-z0-9\-]+\.)*[a-z]+$/i", $_POST['email'])) 
	{
		$error_content .= 'Невірно заповнено поле <b>"email"</b> <br />';
		$error_exist = TRUE;
	}
	
	// Перевірка контактного телефону
	$_POST['phone'] = trim( strip_tags( $sectext->encode( $sql->sec_check( $_POST['phone'] ) ) ) );
		
	// Перевірка www-сторінки
	$_POST['homepage'] = trim( strip_tags( $sectext->encode( $sql->sec_check( $_POST['homepage'] ) ) ) );
	
	// Перевірка icq
	$_POST['icq'] = trim( strip_tags( $sectext->encode( $sql->sec_check( $_POST['icq'] ) ) ) );
	
	// Дата реєстрації
	$_POST['regdate'] = trim( strip_tags( $sectext->encode( $sql->sec_check( $_POST['regdate'] ) ) ) );
	
	// Перевірка дня народження
	$_POST['birthday'] = trim( strip_tags( $sectext->encode( $sql->sec_check( $_POST['birthday'] ) ) ) );
	
	if($error_exist === FALSE)
	{
		if(isset($_POST['add_btn']))
		{
			$sql->query("INSERT INTO `". $SQL_CONF['pref'] . "user` (`userid`, `languageid`, `username`, `password`, `email`, `homepage`, `icq`, `joindate`, `lastvisit`, `birthday`, `groupid`) VALUES (NULL, '0', '". $_POST['fio'] ."', '". $passhash ."', '". $_POST['email'] ."', '". $_POST['homepage'] ."', '". $_POST['icq'] ."', '". $_POST['regdate'] ."', '". $_POST['regdate'] ."', '". $_POST['birthday'] ."', '0')");
			$txtSuccess = "Користувач успішно доданий.";
		}
		else if(isset($_POST['edit_btn']))
		{
			$id = $sectext->digit( $_POST['id'] );
			$sql->query("UPDATE `". $SQL_CONF['pref'] ."user` SET `languageid`='0', `username`='". $_POST['fio'] ."', `password`='". $passhash ."', `email`='". $_POST['email'] ."', `homepage`='". $_POST['homepage'] ."', `icq`='". $_POST['icq'] ."', `joindate`='". $_POST['regdate'] ."', `lastvisit`='". $_POST['regdate'] ."', `birthday`='". $_POST['birthday'] ."', `groupid`='0' WHERE `userid`='". $id ."' ");
			$txtSuccess = "Інформація успішно відредагована.";
		}
		echo <<<HTML
		<div align="center">
			<div align="center" style="width: 50%; border: 1px solid #33ff00; background-color: #CCFFCC; padding: 5px; overflow: auto;">  
				$txtSuccess
			</div>
		</div> 
		<br />
HTML;
	}
	else
	{
		echo <<<HTML
		<div align="center">
		<div align="center" style="width: 50%; border: 1px solid #FF3333; background-color: #FFCCCC; padding: 5px; overflow: auto;"> $error_content </div>
		</div>
		<br />
HTML;
	}
	
	$sql->close();
}

// Видалення користувача
if(isset($_POST['delete_btn']))
{
	// Кодування / декодування тексту
	include_once( TSUE_DIR . '/engine/include/security.text.php' );
	$sectext = new CSecurity();
	
	//З'єднання з БД
	$sql = new cMysql();
	$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
	$id = $sql->sec_check( $_POST['id'] );
	$sql->query("DELETE FROM `". $SQL_CONF['pref'] ."user` WHERE `newsid` = '". $id ."'");
	$sql->close();
	
	echo <<<HTML
	<div align="center">
		<div align="center" style="width: 50%; border: 1px solid #33ff00; background-color: #CCFFCC; padding: 5px; overflow: auto;">  
			Користувач успішно видалений.
		</div>
	</div>
	<br />
HTML;

}


//-------------------------------------------------------------
//                 Кінець процес обробки дій
//-------------------------------------------------------------



//-------------------------------------------------------------
//                  Дії виведення інформації
//-------------------------------------------------------------

switch( $_GET['action'] )
{
	// Додавання користувача
	case "adduser":
	
		$cur_date = date( "Y-m-d H:i:s" );
		
		echo <<<HTML
	<form action="{$_SERVER['PHP_SELF']}?section=users" method="POST">
	<table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/add-user.png" border="0"></td>
		<td valign="middle"><div class="quick"><h3>Додавання користувача</h3>Для того щоб коректно додати новину в базу даних, будь ласка заповніть правильно всі поля та натисніть на кнопку "Додати". 
		Якщо ви з якоїсь причини хочете повернутися до попереднього меню натисніть на кнопку "Повернутися назад".</div></td>
	    </tr>
	</table>
	<br />
	
	<table border="1" class="figure" width="50%" style="border: 1px solid #333300; background-color: #FDFDDB; padding: 5px; overflow: auto;">
		<tr>
			<td width="60%"><b>Ім'я, Прізвище, По батькові користувача:</b></td><td> <input type="text" name="fio" /></td>
		</tr>
		<tr>
			<td width="60%"><b>Пароль користувача:</b></td><td> <input type="text" name="password" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Мова інтерфейсу:</b></td><td> <input type="text" name="language" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Контактний телефон:</b></td><td> <input type="text" name="phone" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Домашня адреса:</b></td><td> <input type="text" name="adress" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Фотографія:</b></td><td> <input type="text" name="photo" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>email:</b></td><td> <input type="text" name="email" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Домашня сторінка(www):</b></td><td> <input type="text" name="homepage" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>icq:</b></td><td> <input type="text" name="icq" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Дата реєстрації:</b></td><td> <input type="text" name="regdate" value="{$cur_date}" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>День народження:</b></td><td> <input type="text" name="birthday" value="" />  </td>
		</tr>
		<tr>
			<td colspan="2" align="right"> 
				<input type="submit" name="add_btn" class="button" value="Додати" /> &nbsp;
				<input type="button" class="button" value="Повернутися назад" onclick=" window.location='{$_SERVER['PHP_SELF']}?section=users'; " />
			</td>
		</tr>
	</table>
	</form>
	<br /><br />
HTML;
	break;
	
	// Редагування інформації користувача
	case "edituser":
		// Кодування / декодування тексту
		include_once( TSUE_DIR . '/engine/include/security.text.php' );
		$sectext = new CSecurity();
		
		// З'єднання з БД
		$sql = new cMysql();
		$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
		$rows = $sql->fetch_assoc("SELECT COUNT(*) as count FROM `". $SQL_CONF['pref'] ."user`");

		
		$page = $sectext->digit( $_GET['page'] );
		$splitter = make_splitter( $page, $rows[0]['count'], USERS_PER_PAGE, '?section=users&action=edituser&page=' );
		
		$rows = $sql->fetch_array("SELECT `userid`, `username`, `email`, `joindate` FROM `". $SQL_CONF['pref'] ."user` LIMIT ". $splitter['begin'] .", ". USERS_PER_PAGE ." ");
		$sql->close();
		
		$rows_size = count($rows)-1;
		if($rows_size > 0)
		{
			$content = '<table border="1" class="infot" style="width: 100%; border: 1px solid #333300; background-color: #FDFDDB; padding: 5px; overflow: auto;">';
			$content .= '<tr><td class="info" width="5%" align="center"><b> # </b></td>
					 <td class="info" width="50%" align="left"><b>Користувач</b></td>
					 <td class="info" width="10%" align="center"><b>Email</b></td>
					 <td class="info" align="center"><b>Зареєстрований</b></td>
				    </tr>';
			
			for($i = 0; $i < $rows_size; $i++)
			{
				$link = '<a class="list" href="?section=users&action=viewedituser&id='. $sectext->digit( $rows[$i]['userid'] ) .'"><b>'. $sectext->decode( $rows[$i]['username'] ) .'</b></a>';
				$content .= '<tr class="odd"><td align="center">'. ($i+1) .'</td><td align="left">'. $link .'</td><td align="center">'. $sectext->decode( $rows[$i]['email'] ) .'</td><td align="right">'. $sectext->decode( $rows[$i]['joindate'] ) .'</td></tr>';
			}
			
			$content .= '</table>';
		}
		else
		{
			$content = '<div align="center"><b>Користувачів поки немає.</b></div>';
		}
		
		// Друк всієї інформації
		echo <<<HTML
			<table width="100%">
			    <tr>
				<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/edit-user.png" border="0"></td>
				<td valign="middle"><div class="quick"><h3>Редагування користувачів</h3>Редагування користувачів дозволяє вам редагувати особисті дані користувачів, напріме
				ви можете змінити ім'я користувача його логін або шифр доступу.</div></td>
			    </tr>
			</table>
			<br />
			$content
			<br />
			{$splitter['splitter']}
			
			<div align="right">
				<input type="button" class="button" value="Повернутися назад" onclick=" window.location='{$_SERVER['PHP_SELF']}?section=users'; " />
			</div>
		<br /><br />
HTML;
	break;
	
	// Перегляд форми редагування
	case "viewedituser":
		
		// Кодування / декодування тексту
		include_once( TSUE_DIR . '/engine/include/security.text.php' );
		$sectext = new CSecurity();
		$id = $sectext->digit( $_GET['id'] );
		
		// З'єднання з БД
		$sql = new cMysql();
		$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
		$rows = $sql->fetch_array("SELECT `username`, `email`, `homepage`, `icq`, `joindate`, `birthday` FROM `". $SQL_CONF['pref'] ."user` WHERE `userid`='". $id ."'");
		$sql->close();
		
		$cur_date = date( "Y-m-d H:i:s" );
		
		echo <<<HTML
	<form action="{$_SERVER['PHP_SELF']}?section=users" method="POST">
	<input type="hidden" name="id" value="$id" />
	<table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/edit-user.png" border="0"></td>
		<td valign="middle"><div class="quick"><h3>Редагування користувача</h3>Уважно заповніть всі поля, ця інформація буде присвоєна конкретному користувачеві. Щоб видалити користувача натисніть на кнопку "Видалити".
		Якщо ви хочете повернутися до попереднього меню натисніть на кнопку "Повернутися назад".</div></td>
	    </tr>
	</table>
	<br />
	
	<table border="1" class="figure" width="50%" style="border: 1px solid #333300; background-color: #FDFDDB; padding: 5px; overflow: auto;">
		<tr>
			<td width="60%"><b>Ім'я, Прізвище, По батькові користувача:</b></td><td> <input type="text" name="fio" value="{$rows[0]['username']}"/></td>
		</tr>
		<tr>
			<td width="60%"><b>Пароль користувача:</b></td><td> <input type="text" name="password" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Мова інтерфейсу:</b></td><td> <input type="text" name="language" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Контактний телефон:</b></td><td> <input type="text" name="phone" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Домашня адреса:</b></td><td> <input type="text" name="adress" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Фотографія:</b></td><td> <input type="text" name="photo" value="" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>email:</b></td><td> <input type="text" name="email" value="{$rows[0]['email']}" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Домашня сторінка(www):</b></td><td> <input type="text" name="homepage" value="{$rows[0]['homepage']}" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>icq:</b></td><td> <input type="text" name="icq" value="{$rows[0]['icq']}" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>Дата реєстрації:</b></td><td> <input type="text" name="regdate" value="{$rows[0]['joindate']}" />  </td>
		</tr>
		<tr>
			<td width="60%"><b>День народження:</b></td><td> <input type="text" name="birthday" value="{$rows[0]['birthday']}" />  </td>
		</tr>
		<tr>
			<td colspan="2" align="right"> 
				<input type="submit" name="edit_btn" class="button" value="Редагувати" /> &nbsp;
				<input type="submit" name="delete_btn" class="button" value="Видалити" /> &nbsp;
				<input type="button" class="button" value="Повернутися назад" onclick=" window.location='{$_SERVER['PHP_SELF']}?section=users'; " />
			</td>
		</tr>
	</table>
	</form>
	<br /><br />
HTML;
	break;
	
// Вивід функцій модуля
default:
echo <<<HTML
<table width="100%">
    <tr>
        <td width="50%">
	<table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/add-user.png" border="0"></td>
		<td valign="middle"><div class="quick"><a href="?section=users&action=adduser"><h3>Додати користувача</h3>Додати нову новина, яка відображаються на головній сторінці всім користувачам перед авторизацією</a></div></td>
	    </tr>
	</table>
	</td>
	 <td width="50%">
	   <table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/edit-user.png" border="0"></td>
		<td valign="middle"><div class="quick"><a href="?section=users&action=edituser"><h3>Редагувати користувача</h3>Редагувати користувача.</a></div></td>
	    </tr>
	   </table>
	</td>
    </tr>
    <tr>
	<td>
	<table width="100%">
	    <tr>
		<td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img height="70" width="70" src="styles/default/adminpanel/images/ico/back.png" border="0"></td>
		<td valign="middle"><div class="quick"><a href="?section=xae"><h3>Повернутися назад</h3>Повернутися до попереднього розділу меню.</a></div></td>
	    </tr>
	</table>
	</td>
    </tr>
</table>
	
<br /><br />

HTML;
}

//-------------------------------------------------------------
//                 Кінець дій виведення інформації
//-------------------------------------------------------------

?>